home *** CD-ROM | disk | FTP | other *** search
/ Computer Arts 148 / ART_148.iso / Zasoby / Szablony Flasha / flashmo_241_multi_scroller / transitions.swf / scripts / TransitionGraphic.as < prev    next >
Encoding:
Text File  |  2007-09-13  |  3.6 KB  |  132 lines

  1. package
  2. {
  3.    import caurina.transitions.*;
  4.    import flash.display.*;
  5.    import flash.events.*;
  6.    import flash.text.TextField;
  7.    
  8.    [Embed(source="/_assets/assets.swf", symbol="symbol5")]
  9.    public class TransitionGraphic extends MovieClip
  10.    {
  11.       private static const TRANSITION_TIME:Number = 0.75;
  12.       
  13.       private static const LINE_THICKNESS:Number = 2;
  14.       
  15.       private static const LINE_COLOR:Number = 13311;
  16.       
  17.       private var _lineCanvas:Sprite;
  18.       
  19.       private var _transitionType:String;
  20.       
  21.       public var mcCanvasBG:Sprite;
  22.       
  23.       private var _phase:Number;
  24.       
  25.       private var _height:Number;
  26.       
  27.       private var _transitionEquation:Function;
  28.       
  29.       private var _width:Number;
  30.       
  31.       public var txtTransitionType:TextField;
  32.       
  33.       public function TransitionGraphic(param1:String = "linear", param2:Function = null)
  34.       {
  35.          super();
  36.          _phase = 0;
  37.          _width = 120;
  38.          _height = 97;
  39.          _lineCanvas = new Sprite();
  40.          _lineCanvas.x = 0;
  41.          _lineCanvas.y = mcCanvasBG.y;
  42.          addChild(_lineCanvas);
  43.          swapChildren(_lineCanvas,txtTransitionType);
  44.          transitionType = param1;
  45.          _transitionEquation = param2;
  46.          mcCanvasBG.addEventListener(MouseEvent.MOUSE_DOWN,mouseDown);
  47.          buttonMode = true;
  48.          useHandCursor = true;
  49.       }
  50.       
  51.       public function redraw() : void
  52.       {
  53.          mcCanvasBG.width = _width;
  54.          mcCanvasBG.height = _height - mcCanvasBG.y;
  55.          txtTransitionType.width = _width;
  56.          redrawCurve();
  57.       }
  58.       
  59.       public function showTransition(param1:Number) : void
  60.       {
  61.          phase = 0;
  62.          Tweener.addTween(this,{
  63.             "phase":1,
  64.             "delay":param1,
  65.             "time":TRANSITION_TIME,
  66.             "transition":"linear"
  67.          });
  68.       }
  69.       
  70.       public function get transitionType() : String
  71.       {
  72.          return _transitionType;
  73.       }
  74.       
  75.       public function redrawCurve() : void
  76.       {
  77.          var _loc1_:Number = NaN;
  78.          var _loc2_:Number = NaN;
  79.          var _loc3_:Number = NaN;
  80.          var _loc4_:Number = NaN;
  81.          _lineCanvas.graphics.clear();
  82.          _lineCanvas.graphics.lineStyle(LINE_THICKNESS,LINE_COLOR);
  83.          _loc4_ = 0;
  84.          while(_loc4_ <= _phase)
  85.          {
  86.             _loc2_ = _loc4_ * mcCanvasBG.width;
  87.             _loc1_ = Number(_transitionEquation(_loc4_,0,1,1));
  88.             _loc3_ = (1 - _loc1_) * mcCanvasBG.height;
  89.             if(_loc4_ == 0)
  90.             {
  91.                _lineCanvas.graphics.moveTo(_loc2_ + 0.5,_loc3_ + 0.5);
  92.             }
  93.             else
  94.             {
  95.                _lineCanvas.graphics.lineTo(_loc2_ + 0.5,_loc3_ + 0.5);
  96.             }
  97.             _loc4_ += 0.005;
  98.          }
  99.       }
  100.       
  101.       public function set transitionType(param1:String) : void
  102.       {
  103.          _transitionType = param1;
  104.          txtTransitionType.text = _transitionType;
  105.       }
  106.       
  107.       public function get phase() : Number
  108.       {
  109.          return _phase;
  110.       }
  111.       
  112.       public function setSize(param1:Number, param2:Number) : void
  113.       {
  114.          _width = param1;
  115.          _height = param2;
  116.          redraw();
  117.       }
  118.       
  119.       public function mouseDown(param1:MouseEvent = null) : void
  120.       {
  121.          showTransition(0);
  122.       }
  123.       
  124.       public function set phase(param1:Number) : void
  125.       {
  126.          _phase = param1 < 0 ? 0 : (param1 > 1 ? 1 : param1);
  127.          redrawCurve();
  128.       }
  129.    }
  130. }
  131.  
  132.